// package com.scrcu.message.adapter.sms;
//
// import java.io.IOException;
// import java.sql.Connection;
// import java.sql.PreparedStatement;
// import java.sql.ResultSet;
// import java.sql.SQLException;
// import java.util.Date;
//
// import org.slf4j.Logger;
// import org.slf4j.LoggerFactory;
//
// import com.boarsoft.message.bean.Message;
// import com.boarsoft.message.store.jdbc.JdbcUtil;
// import com.boarsoft.message.store.jdbc.MsgMainTM;
//
// public class SmsMysqlMainTM extends MsgMainTM {
// private static final Logger log =
// LoggerFactory.getLogger(SmsMysqlMainTM.class);
//
// public SmsMysqlMainTM(String target, int term) {
// super(target, term);
// }
//
// /**
// * 实现针对MySQL的建表语句
// */
// @Override
// protected void prepareCreate() {
// StringBuilder sb = new StringBuilder() //
// .append("create table `").append(table).append("`(\n") //
// .append(" `cId` char(32) not null primary key\n") //
// .append(" , `iAddTime` bigint not null\n")//
// .append(" , `iLastTime` bigint not null\n")//
// .append(" , `tStatus` smallint not null default 0\n")//
// .append(" , `tTried` smallint not null default 0\n")//
// .append(" , `vMemo` varchar(1024)\n")//
// .append(" , `vText` varchar(2048)\n")//
// .append(") ENGINE=InnoDB;");
// this.createTblSql = sb.toString();
//
// log.warn("Create table {} with SQL:", table);
// log.warn("{}", createTblSql);
//
// this.createIdxSql = new StringBuilder("create index `")//
// .append(index).append("` on `").append(table)//
// .append("`(`iAddTime`, `tStatus`)").toString();
// log.info("Create index {} with SQL:", index);
// log.warn("SQL:\n{}", createIdxSql);
// }
//
// @Override
// protected void prepareInsert() {
// StringBuilder sb = new StringBuilder();
// sb.append("insert into ").append(table).append(" (cId, iAddTime");
// sb.append(", vText) values (?, ?, ?)");
// this.insertSql = sb.toString();
// }
//
// public void insert(Connection conn, Message m) throws SQLException,
// IOException {
// PreparedStatement ps = null;
// try {
// ps = conn.prepareStatement(insertSql);
// ps.setString(1, m.getId());
// ps.setLong(2, new Date().getTime());
// ps.setString(3, (String) m.getAttachment());
// ps.executeUpdate();
// } finally {
// JdbcUtil.close(ps);
// }
// }
//
// /**
// * 实现针对MySQL的分页查询语句
// */
// @Override
// protected void prepareList() {
// StringBuilder sb = new StringBuilder();
// sb.append("select cId, iAddTime, iLastTime, tStatus, tTried, vMemo");
// sb.append(", vText from ").append(table)//
// .append(" where iAddTime > ? and tStatus in (")//
// .append(Message.STATUS_NEW).append(", ").append(Message.STATUS_SENDING) //
// .append(") order by iAddTime limit ?");
// this.listSql = sb.toString();
// }
//
// @Override
// protected Message readMessage(ResultSet rs, int index) throws SQLException,
// ClassNotFoundException, IOException {
// String text = rs.getString(index);
// return SmsInAdapter.convert(text);
// }
// }
